System and method for evaluating models for predictive failure of renewable energy assets

ABSTRACT

An example method comprises receiving historical sensor data from sensors of components of wind turbines, training a set of models to predict faults for each component using the historical sensor data, each model of a set having different observation time windows and lead time windows, evaluating each model of a set using standardized metrics, comparing evaluations of each model of a set to select a model with preferred lead time and accuracy, receive current sensor data from the sensors of the components, apply the selected model(s) to the current sensor data to generate a component failure prediction, compare the component failure prediction to a threshold, and generate an alert and report based on the comparison to the threshold.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/234,329, filed on Dec. 27, 2018 and entitled “SYSTEM AND METHOD FOR EVALUATING MODELS FOR PREDICTIVE FAILURE OF RENEWABLE ENERGY ASSETS”, which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

Embodiments of the present invention(s) relate generally to forecasting failure of renewable energy assets and, in particular, evaluating models to predict failures of one or more renewable energy assets to increase lead time before failure and improve accuracy.

DESCRIPTION OF RELATED ART

Detection and prediction of failure in one or more components of an asset of an electrical network has been difficult. Detection of a failure of a component of an asset is tedious and high in errors. In this example, an asset is a device for generating or distributing power in an electrical network. Examples of assets can include, but is not limited to, a wind turbine, solar panel power generator, converter, transformer, distributor, and/or the like. Given that detection of a failure of a component of an asset may be difficult to determine, increased accuracy of prediction of future failures compounds problems.

SUMMARY

An example nontransitory computer readable medium comprises executable instructions, the executable instructions being executable by one or more processors to perform a method, the method comprising receiving first historical sensor data of a first time period, the first historical sensor data including sensor data from one or more sensors of one or more components of any number of renewable energy assets, the first historical sensor data indicating at least one first failure associated with the one or more components of the renewable energy asset during the first time period, generating a first set of failure prediction models using the first historical sensor data, each of the first set of failure prediction models being trained by different amounts of first historical sensor data based on different observation time windows and different lead time windows, each observation time window including a time period during which first historical data is generated, the lead time window including a period of time before a predicted failure, evaluating each failure prediction model of the first set of failure prediction models using at least a confusion matrix including metrics for true positives, false positives, true negatives, and false negatives as well as a positive prediction value, comparing the confusion matrix and the positive prediction value of each of the first set of failure prediction models, selecting at least one failure prediction model of the first set of failure prediction models based on the comparison of the confusion matrixes, the positive prediction values, and the lead time windows to create a first selected failure prediction model, the first selected failure prediction model including the lead time window before a predicted failure, receiving first current sensor data of a second time period, the first current sensor data including sensor data from the one or more sensors of the one or more components of the renewable energy asset, applying the first selected failure prediction model to the current sensor data to generate a first failure prediction a failure of at least one component of the one or more components, comparing the first failure prediction to a first trigger criteria, and generating and transmitting a first alert based on the comparison of the failure prediction to the first trigger criteria, the alert indicating the at least one component of the one or more components and information regarding the failure prediction.

In some embodiments, the renewable energy asset is a wind turbine or a solar panel. Each of the first set of failure prediction models may predict failure of a component of the renewable asset. The method may further comprise selecting the first trigger threshold from a plurality of trigger thresholds based on the component, wherein each different trigger threshold of the plurality of trigger threshold is directed to a different component or group of components. In various embodiments, the method further comprise filtering the first historical sensor data to retrieve a portion of the historical sensor data related to the component, the generating the first set of failure prediction models using the first historical sensor data comprising generating the first set of failure prediction models using the portion of the first historical sensor data.

In some embodiments, the method may further comprise generating a second set of failure prediction models using the first historical sensor data, each of the second set of failure prediction models being trained by different amounts of first historical sensor data based on different observation time windows and different lead time windows, each observation time window including a time period during which first historical data is generated, the lead time window including a period of time before a predicted failure, the second set of failure prediction models being for predicting a fault of a component that is different than the first set of failure prediction models, evaluating each failure prediction model of the second set of failure prediction models using at least the confusion matrix including metrics for true positives, false positives, true negatives, and false negatives as well as a positive prediction value, comparing the confusion matrix and the positive prediction value of each of the second set of failure prediction models, selecting at least one failure prediction model of the second set of failure prediction models based on the comparison of the confusion matrixes, the positive prediction values, and the lead time windows to create a second selected failure prediction model, the second selected failure prediction model including the lead time window before a predicted failure, receiving first current sensor data of a second time period, the first current sensor data including sensor data from the one or more sensors of the one or more components of the renewable energy asset, applying the second selected failure prediction model to the current sensor data to generate a second failure prediction, comparing the second failure prediction to a second trigger criteria, and generating and transmitting a second alert based on the comparison of the failure prediction to the second trigger criteria, the alert indicating the at least one component of the one or more components and information regarding the failure prediction.

The method may further comprise filtering the second historical sensor data to retrieve a portion of the historical sensor data related to the component, the generating the second set of failure prediction models using the first historical sensor data comprising generating the first second of failure prediction models using the portion of the first historical sensor data.

Selecting at least one failure prediction model of the first set of failure prediction models may comprise generating curvature analysis including an indicator for each failure prediction model of the first set of failure prediction models in a graph using different lead time windows and observation time windows, the curvature analysis providing a positive prediction value for each failure prediction model of the first set of failure prediction models. Further, selecting at least one failure prediction model of the first set of failure prediction models may further comprise receiving a selection of the selected failure prediction model using the curvature analysis from an authorized digital device.

An example system may comprise at least one processor and memory containing instructions, the instructions being executable by the at least one processor to: receive first historical sensor data of a first time period, the first historical sensor data including sensor data from one or more sensors of one or more components of any number of renewable energy assets, the first historical sensor data indicating at least one first failure associated with the one or more components of the renewable energy asset during the first time period, generate a first set of failure prediction models using the first historical sensor data, each of the first set of failure prediction models being trained by different amounts of first historical sensor data based on different observation time windows and different lead time windows, each observation time window including a time period during which first historical data is generated, the lead time window including a period of time before a predicted failure, evaluate each failure prediction model of the first set of failure prediction models using at least a confusion matrix including metrics for true positives, false positives, true negatives, and false negatives as well as a positive prediction value, compare the confusion matrix and the positive prediction value of each of the first set of failure prediction models, select at least one failure prediction model of the first set of failure prediction models based on the comparison of the confusion matrixes, the positive prediction values, and the lead time windows to create a first selected failure prediction model, the first selected failure prediction model including the lead time window before a predicted failure, receive first current sensor data of a second time period, the first current sensor data including sensor data from the one or more sensors of the one or more components of the renewable energy asset, apply the first selected failure prediction model to the current sensor data to generate a first failure prediction a failure of at least one component of the one or more components, compare the first failure prediction to a first trigger criteria, and generate and transmitting a first alert based on the comparison of the failure prediction to the first trigger criteria, the alert indicating the at least one component of the one or more components and information regarding the failure prediction.

An example method may comprise receiving first historical sensor data of a first time period, the first historical sensor data including sensor data from one or more sensors of one or more components of any number of renewable energy assets, the first historical sensor data indicating at least one first failure associated with the one or more components of the renewable energy asset during the first time period, generating a first set of failure prediction models using the first historical sensor data, each of the first set of failure prediction models being trained by different amounts of first historical sensor data based on different observation time windows and different lead time windows, each observation time window including a time period during which first historical data is generated, the lead time window including a period of time before a predicted failure, evaluating each failure prediction model of the first set of failure prediction models using at least a confusion matrix including metrics for true positives, false positives, true negatives, and false negatives as well as a positive prediction value, comparing the confusion matrix and the positive prediction value of each of the first set of failure prediction models, selecting at least one failure prediction model of the first set of failure prediction models based on the comparison of the confusion matrixes, the positive prediction values, and the lead time windows to create a first selected failure prediction model, the first selected failure prediction model including the lead time window before a predicted failure, receiving first current sensor data of a second time period, the first current sensor data including sensor data from the one or more sensors of the one or more components of the renewable energy asset, applying the first selected failure prediction model to the current sensor data to generate a first failure prediction a failure of at least one component of the one or more components, comparing the first failure prediction to a first trigger criteria, and generating and transmitting a first alert based on the comparison of the failure prediction to the first trigger criteria, the alert indicating the at least one component of the one or more components and information regarding the failure prediction.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block diagram of an example of an electrical network in some embodiments.

FIG. 2 depicts components that often produce failures of wind turbines and components that often produce failures in solar panel generators.

FIG. 3 depicts a common problem of detecting possible failure of one or more components of a wind farm.

FIG. 4 depicts traditional failure prediction approaches of main shaft bearing failure in wind turbines as well as challenges.

FIG. 5 is a block diagram of a component failure prediction system in some embodiments.

FIG. 6 is an example longitudinal evaluation framework of failure prediction.

FIG. 7 depicts a graph defining an example feasible prediction triangle as defined by lookback time and lead time

FIG. 8 depicts a curvature analysis that can be done for any or all of the performance metrics.

FIG. 9 is a flowchart for predicting failures and/or potential failures of renewable energy assets.

FIG. 10 depicts a calculation of an example predictive maintenance cost in one example.

FIG. 11 is a graph of a further optimization of performance per cost analysis in some embodiments.

FIG. 12 depicts a block diagram of an example computer system server according to some embodiments.

DETAILED DESCRIPTION

In the wind and solar generation industry, it is crucial to accurately forecast component failures with as much lead time as possible. Some embodiments described herein utilize machine learning algorithms to build a sophisticated forecasting model based on multi-variate sensor data to forecast component failures. There is typically a trade-off between accuracy of the forecast of component failure and the length of time forecasted (e.g., the predicted length of time) before the failure occurs. As a result, there is a need to generate multiple models for evaluation and standardize evaluation in order to obtain models that accurately predict failure at an acceptable length of time prior to the predicted failure. Various embodiments described herein overcome limitations of the prior art including scalability, proactive warnings, and computational efficiency while providing improved accuracy.

Historically, after models are created, they are evaluated using historical data in order to compare output against known truth. Without a standard set of metrics including qualitative judgments such as false positives and true negatives, different metrics for different components of a system train substandard models. Such models will make failure prediction inconsistent, particularly across different systems. Ill-defined accuracy of a model can lead to “performance metric engineering” (e.g., stating that a model is accurate forecasting per “up to 30 days of prediction” term when the model only predicts a failure 1 day prior to the failure).

Without a standard set of metrics including qualitative judgments, it is increasingly difficult to generate different models and evaluate the models for different windows of lead time prior to the predicted fault with a satisfactory degree of accuracy of the prediction. It will be appreciated that the longer that faults are predicted in the future, the more useful those predictions can be. The longer prediction time however impacts accuracy of the prediction. As such, prediction models need to be evaluated to provide acceptable lead time with the an acceptable level of accuracy. In order to accomplish this consistently across many different components of many different renewable energy assets, a standard set of metrics should be used.

In some embodiments, model performance evaluation may be used to measure the success of different prediction models and, as a result, provide a framework for users to make an educated decision on failure prediction.

It will be appreciated that improving the accuracy and standardization of failure prediction models for components of renewable energy assets improves model creation, evaluation of model performance of the past, and improves scalability (all of which are inherent in the field of computer technology).

FIG. 1 depicts a block diagram 100 of an example of an electrical network 100 in some embodiments. FIG. 1 includes an electrical network 102, a component failure prediction system 104, a power system 106, in communication over a communication network 108. The electrical network 102 includes any number of transmission lines 110, renewable energy sources 112, substations 114, and transformers 116. The electrical network 102 may include any number of electrical assets including protective assets (e.g., relays or other circuits to protect one or more assets), transmission assets (e.g., lines, or devices for delivering or receiving power), and/or loads (e.g., residential houses, commercial businesses, and/or the like).

Components of the electrical network 102 such as the transmission line(s) 110, the renewable energy source(s) 112, substation(s) 114, and/or transformer(s) 106 may inject energy or power (or assist in the injection of energy or power) into the electrical network 102. Each component of the electrical network 102 may be represented by any number of nodes in a network representation of the electrical network. Renewable energy sources 112 may include solar panels, wind turbines, and/or other forms of so called “green energy.” The electrical network 102 may include a wide electrical network grid (e.g., with 40,000 assets or more).

Each electrical asset of the electrical network 100 may represent one or more elements of their respective assets. For example, the transformer(s) 116, as shown in FIG. 1 may represent any number of transformers which make up electrical network 100.

In some embodiments, the component failure prediction system 104 may be configured to receive historical sensor data from any number of sensors of any number of electrical assets. The component failure prediction system 104 may subsequently generate any number of models to predict failures of any number of components. Different models for the same component(s) may be generated based on a common set of metrics.

Each model may be evaluated to determine accuracy of the model and the length of time prior to predicted failure at the desired level of accuracy. As such, the component failure prediction system 104 may be used to generate and evaluate multiple models using the same historical sensor data but each with different lengths of time prior to predicted failure in order to identify at least one model with an acceptable accuracy at an acceptable prediction time before component failure is expected to occur.

In some embodiments, communication network 108 represents one or more computer networks (e.g., LAN, WAN, and/or the like). Communication network 108 may provide communication between any of the congestion mitigation system 104, the power system 106, and/or the electrical network 102. In some implementations, communication network 108 comprises computer devices, routers, cables, uses, and/or other network topologies. In some embodiments, communication network 108 may be wired and/or wireless. In various embodiments, communication network 108 may comprise the Internet, one or more networks that may be public, private, IP-based, non-IP based, and so forth.

The component failure prediction system 104 may include any number of digital devices configured to forecast component failure of any number of components and/or generators (e.g., wind turbine or solar power generator) of the renewable energy sources 112.

The power system 106 may include any number of digital devices configured to control distribution and/or transmission of energy. The power system 106 may, in one example, be controlled by a power company, utility, and/or the like. A digital device is any device with at least one processor and memory. Examples of systems, environments, and/or configurations that may be suitable for use with system include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.

A computer system may be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. A digital device, such as a computer system, is further described with regard to FIG. 22.

FIG. 2 depicts components that often produce failures of wind turbines and components that often produce failures in solar panel generators. Failures in wind turbines often occur as a result of failures in a main bearing 202, gearbox 204, generator 206, or anemometer 208. Failures in solar panel generators often occur as a result of failures in an inverter 210, panel degradation 212, and an IGBT 214.

A wind turbine has many potential components of failure. Different sensors may provide different readings for one or more different components or combinations of components. Given the number of wind turbines in a wind farm, the amount of data to be assessed may be untenable using prior art methods. For example, data analytics systems of the prior art do not scale, sensors provide too much data to be assessed by the prior art systems, and there is a lack of computational capacity in prior art systems to effectively assess data from wind farms in a time sensitive manner. As a result, prior art systems are reactive to existing failures rather than proactively providing reports or warnings of potential future failure of one or more components.

For example, various embodiments regarding a wind turbine described herein may identify potential failure of a main bearing 202, gearbox 204, generator 206, or anemometer 208 of one or more wind turbines. Although many bearings may be utilized in a wind turbine (e.g., yaw and pitch bearings), the main shaft and gearbox of the wind turbine tend to be the most problematic. For example, a main bearing 202 may fail due to high thrust load or may fail due to inadequate lubricant film generation. Trends in redesign of a main shaft 202 and/or gearbox 204 of a single wind turbine have been driven by unexpected failures in these units. The unplanned replacement of main-shaft bearing 202 can cost operators up to $450,000 and have an obvious impact on financial performance.

Gearbox 204 failures are one of the largest sources of unplanned maintenance costs. Gearbox 204 failures can be caused by design issues, manufacturing defects, deficiencies in the lubricant, excessive time at standstill, high loading, and other reasons. There may be many different modes of gearbox 204 failure and, as such, it may be important to identify the type of failure mode in addressing the failure. One mode is micropitting which occurs when lubricant film between contacting surfaces in a gearbox 204 is not thick enough. Macropitting occurs when contact stress in a gear or breaking exceeds the fatigue strength of the material. Bending fatigue a failure mode that affects gear teeth and axial cracking may occur in bearings of a gearbox; the cracks develop in the axial direction, perpendicular to the direction of rolling.

The generator 206 typically converts the wind energy to electrical energy. Failures often occur in bearings, stator, rotor, or the like which can lead to inconsistent voltage to total failure. Generator 206 failure may be difficult to detect as a result of inconsistent weather, lack of motion, and/or partial failure of the anemometer 208.

The anemometer 208 uses moving parts as sensors. Anemometers 208 often include “cups” for wind speed measurements and a wind vane that uses a “vane tail” for measuring vector change, or wind direction. Freezing weather has caused the “cups” and “vane tail” to lock. If an anemometer 208 under-reports wind speed because of a partial failure, there is an increase in rotor acceleration that indicates a large amount of wind energy is not converted into electrical engineering. Rolling resistance in an anemometer 208 bearings typically increase over time until they seize. Further, if the anemometer 208 is not accurate, the wind turbine will not control blade pitch and rotor speed as needed. Poor or inaccurate measurements by the anemometer 208 will lead to incorrect adjustments and increased fatigue.

Similarly, various embodiments regarding a solar panel generator described herein may identify potential failure of a inverter 210, solar panel 212, and IGBT 214 in one or more solar panels of a solar farm.

A solar inverter 210 is an electrical converter to convert variable direct current from a photovoltaic solar panel 212 into a utility frequency alternating current that can be fed to an electrical grid. Production loses are often attributable to poor performance of inverters 210. Solar inventers 210 may overheat (caused by weather, use, or failure of cooling systems) which can reduce production. Moisture may cause a short circuit which can cause complete or partial failure (e.g., to a minimum “required” isolation level). Further, failure of the solar inverter 210 to restart after gird fault may require manual restarting of the equipment.

The panel 212 refers to the solar or photovoltaic panel. The photovoltaic panel 212 may degrade due to weather, poor cleaning, thermal cycling, damp heat, humidity freezing, and UV exposure. Thermal cycling can cause solder bond failures and cracks. Damp heat has been associated with delamination of encapsulants and corrosion of cells. Humidity freezing can cause junction box adhesion to fail. UV exposure contributes to discoloration and backsheet degradation.

Solar inverters 210 often use insulated gate bipolar transistors (IGBT) 214 for conversion of solar panel 212 output to AC voltage. Failures in the IGBT 214 can be caused by fatigue, corrosion of metallizations, electromigration of metalizations, conductive filament formation, stress driven diffusion voiding, and time dependent dielectric breakdown.

FIG. 3 depicts a common problem of detecting possible failure of one or more components of a wind farm. As shown in FIG. 3, there may be any number of wind turbines in a wind farm. Sensors of each wind turbine in a wind farm may generate its own data. As a result, there is a dump of timeseries data which is overwhelming for prior art systems and prior art methods of assessment. As illustrated, monitoring hundreds of assets with hundreds of sensor inputs is time-consuming and overwhelming for operators to test. As a further consequence, evaluating different models for different components to predict failure in those components becomes difficult and accuracy can suffer as the desired time to predict component failure increases.

Existing prior art systems receive too much timeseries data to be effectively assessed in a scalable and/or computationally efficient manner. As a result, there is a conservative and or reactive response to component and wind turbine failure. In other words, action is typically taken well after failure is detected or when failure is both immanent and unmistakable.

FIG. 4 depicts traditional failure prediction approaches of main shaft bearing failure in wind turbines as well as challenges. In this example, main shaft bearing failure may be caused by any number of components. For prior art analysis, challenges include identifying the correct mechanical systems model and nominal operating modes of that mechanical system model.

Prior art approaches may also fail due to incorrect sensor data mapping. Mapping of sensor data may be based on observability and take into account sensor dynamic range. In this example of the main shaft bearing failure, sensor data regarding temperature, noise, and/or vibration may be taken into account. For example, the sensor data related to temperature, noise, and/or vibration is observed against the background of other sensor data readings, and the sensor dynamic range of each individual sensor or combination of sensors should be recognized.

Prior art systems often fail in tuning a failure detection threshold for a sensor reading. Prior art systems typically must identify model specific parameters and site-specific parameters. In this case the temperature sensor data may indicate a high temperature warning relative to some high temperature threshold. The noise data may be utilized for resonant frequency analysis to detect residents within a component or device. The vibration data may be assessed to determine excessive vibration relative to some vibration threshold.

Further early indication of failures in temperature, noise, vibration, or other failures, can be easily overlooked if it's nominal operating mode is loosely defined by the prior art system.

FIG. 5 is a block diagram of a component failure prediction system 104 in some embodiments. The component failure prediction system 104 may predict a component failure ahead of the actual failure. The component failure prediction system 104 may train and evaluate any number of models that predict component failure. In some embodiments, the component failure prediction system 104 trains a set of component failure prediction models for each component or set of components using historical sensor data received from sensors of any number of electrical assets (e.g., including renewable energy electrical assets such as wind turbines). In some embodiments, each set of models predicts failure of a different component of the same or different electrical assets.

The component failure prediction system 104 may train different failure prediction models of a set using the same metrics from historical sensor data but with different lead times and with different amounts of historical sensor data (e.g., different amounts of lookback times). The component failure prediction system 104 may evaluate the failure prediction models of the set based on sensitivity, precision, and/or specificity for the different lookback and lead times. As a result, the component failure prediction system 104 may select a failure prediction model of a set of failure prediction models for each component type (e.g., bearing), component (e.g., specific bearing(s) in one or more assets), component group type (e.g., generator including two or more components), component group (e.g., specific generator(s) including two or more components in one or more assets), asset type (e.g., wind turbines), or group of assets (e.g., specific set of wind turbines).

Metrics used to evaluate performance (e.g., based on values from sensor readings and/or from the sensors themselves) may be the same for different components even if the sensor data from sensors of the different components is different. By standardizing metrics for evaluation, the component failure prediction system 104 may “tune” or change aspects of the failure prediction model and model training to accomplish the goals of acceptable accuracy with acceptable lead time before the predicted failure. This enable improved accuracy for different components of an electrical assets with improved time of prediction (e.g., longer prediction times is preferable).

In some embodiments, the component failure prediction system 104 may apply a multi-variate anomaly detection algorithm to sensors that are monitoring operating conditions of any number of renewable assets (e.g., wind turbines and or solar generators). The component failure prediction system 104 may remove data associated with a past, actual failure of the system (e.g. of any number of components and or devices), therefore highlighting subtle anomalies from normal operational conditions that lead to actual failures.

The component failure prediction system 104 may fine-tune failure prediction models by applying dimensionality reduction techniques to remove noise from irrelevant sensor data (e.g., apply principal component analysis to generate a failure prediction model using linearly uncorrelated data and/or features from the data). For example, the component failure prediction system 104 may utilize factor analysis to identify the importance of features within sensor data. The component failure prediction system 104 may also utilize one or more weighting vectors to highlight a portion or subset of sensor data that has high impact on the failure.

In some embodiments, the component failure prediction system 104 may further scope time series data of the sensor data by removing some sensor data from the actual failure time period. In various embodiments, the component failure prediction system 104 may optionally utilize curated data features to improve the accuracy of detection. Gearbox failure detection, for example, may utilize temperature rise in the gearbox with regards to power generation, reactive power, and ambient temperature.

In some embodiments, the component failure prediction system 104 may receive historical sensor data regarding renewable energy sources (e.g., wind turbines, solar panels, wind farms, solar farms, electrical grants, and/or the like). The component failure prediction system 104 may break down the data in order to identify important features and remove noise of past failures that may impact model building. The historical data may be curated to further identify important features and remove noise. The component failure prediction system 104 may further identify labels or categories for machine learning. It will be appreciated that component failure prediction system 104 may, in some embodiments, identify labels.

The component failure prediction system 104 may receive sensor data regarding any number of components from any number of devices, such as wind turbines from a wind farm. The sensor data may include multivariate timeseries data which, when in combination with the labels or categories for machine learning, may assist for deep learning, latent variable mining, may provide insights for component failure indication. These insights, which may predict upcoming failures, may effectively enable responses to upcoming failures with sufficient lead time before failure impacts other components of energy generation.

It will be appreciated that identifying upcoming failures for any number of components and renewable energy generation may become increasingly important as sources of energy migrate to renewable energy. Failure of one or more components may impact the grid significantly, and as a result may put the electrical grid, or the legacy components of the electrical grid, either under burden or cause them to fail completely. Further, failures of the electrical grid and/or failures of renewable energy sources may threaten loss of property, business, or life particularly at times where energy is critical (e.g., hospital systems, severe weather conditions such as heat waves, blizzards, or hurricanes, care for the sick, care for the elderly, and/or care of the young).

The component failure prediction system 104 may comprise a communication module 502, a training data preparation module 504, a model training module 506, a model evaluation module 508, a model application module 510, a trigger module 512, a report and alert generation module 514, and a data storage 516.

The communication module 502 may be configured to transmit and receive data between two or more modules in the component failure prediction system 104. In some embodiments, the communication module 502 is configured to receive information regarding assets of the electrical network 102 (e.g., from the power system 106, sensors within components of the electrical network 102 such as the renewable energy sources 112, third-party systems such as government entities, other utilities, and/or the like).

The communication module 502 may be configured to receive historical sensor data regarding electrical assets either individually or in combination (e.g., wind turbines, solar panels, windfarms, solar farms, components of devices, components of wind turbines, components of solar panels, substations 114, transformers 116, and/or transmission lines 110). The communication module 502 may further receive sensor data from one or more sensors of any number of electrical assets such as those described above.

The training data preparation module 504 may optionally prepare the historical sensor data for training failure prediction modules. In various embodiments, the training data preparation module 504 may extract features (e.g., dimensions and/or variables) from the received historical sensor data. The multivariate sensor data may, as discussed herein, be time series data. For example, the training data preparation module 504 may extract features from the time series data. The training data preparation module 504 may provide the extracted features to the model training module 506 for training one or more models.

In various embodiments, feature extraction may also refer to the process of creating new features from an initial set of data. These features may encapsulate central properties of a data set and represent the data set and a low dimensional space that facilitates learning. As can be appreciated, the initial multivariate sensor data may include a number of features that are too large and unwieldy to be effectively managed and may require an unreasonable amount of computing resources. Feature extraction may be used to provide a more manageable representative subset of input variables. It will be appreciated that feature extraction may extract features for the data as well as create new features from the initial set of data.

It will be appreciated that, in some embodiments, dimensions may refer to columns (e.g., features or variables) of the received historical sensor data.

The model training module 506 may utilize classification algorithms for model training. The classifications may include for example SVM, DeepLearning (such as CNN or CHAID). The training model input may include balanced input such as, for example, historical sensor data, extracted features from the historical sensor data, scoped anomaly time series from the historical sensor data, scoped weighted sensor timeseries from the historical sensor data, and/or failure indications. In some embodiments the timeseries data is a matrix where the start time the end time of the timeseries include maximum lead time, minimum lead time, and per desired time horizon (e.g., 45 days to 10 days before an event).

The model training module 506 may generate any number of failure prediction models using the historical sensor data and different configurations for lead time. For example, the model training module 506 may generate different failure prediction models of a set of failure prediction modules using different amounts of historical sensor data (e.g., historical sensor data generated over different time periods) and with different lead lookahead times. The model evaluation module 508 may evaluate any or all of the failure prediction models of each set generated by the model training module 506 to identify a preferred failure prediction model of a set in comparison to the other preferred failure prediction models of a set based on preferred criteria (e.g., longer lead times are preferred).

FIG. 6 characterizes problems and propose solutions in some embodiments. The graph in FIG. 6 depicts sensor readings from multiple sensors over a period of time leading up to failure. The time before the failure is indicated as “lead time.” One goal may be to improve lead time with sufficient accuracy such that alerts may be issued and/or actions taken to mitigate consequences of failure or avoid failure prior to that failure occurring.

FIG. 6 is an example longitudinal evaluation framework of failure prediction. The longitudinal evaluation framework includes three periods of time, including a prediction time period, a lookahead time window, and a predicted for time period. In some embodiments, sensor data received and/or generated during the prediction time period may be used for model building and pattern recognition. Failure event labels may be extracted from the duration of the predicted time window.

The prediction time period is an observation time window where historical sensor data that was generated by sensors during this time window and/or received during this time window is used for failure prediction model building and pattern recognition for different models (e.g., with different amounts of lookback time). The lookahead time window is a period of time when sensor data generated during this time window and/or received during this time window is not used for model building and pattern recognition. In various embodiments, sensor data generated and/or received during the ahead time window may be used to test any or all failure prediction models. The predicted time window is a time period where failure is expected to happen.

In the example of FIG. 6, the prediction time period is −45 days to −1 day (prior to the lookahead time window) and the predicted time window is 0 to 2 days after the lookahead time window. Different failure prediction models may be generated with different amounts of prediction time periods (e.g., different models use a different number of days of sensor data) and different amounts of lookahead times (e.g., different models use a different number of days before predicted failure).

It will be appreciated that the predicted time period may be any length of time prior to the lookahead time window and that the predicted time window can be any length of time after the lookahead time window. One of the goals in some embodiments described herein is to achieve an acceptable level of accuracy of a model with a sufficient lead time before the predicted time window to enable proactive actions to prevent failure, to scale the system to enable detection of a number of component failures, and to improve the accuracy of the system (e.g., to avoid false positives).

Further, as used herein, a model training period may include a time period used to select training instances. An instance is a set of time series/event features along with the failure/non-failure of a particular component in a renewable energy asset (e.g., a wind turbine) in a specified time period. A model testing period is a time period used to select testing instances.

In some embodiments, a balanced input may require a minimum of failure history (e.g., 20%) which can be copied by subsampling the non-failure history and by boosting the failure history data (e.g., sliding window for the failure history data).

In various embodiments, the model training module 506 and/or the training data preparation module 504 may filter the historical sensor data to extract data related to a single component, a type of component, or specific combination of components. The model training module 506 may generate specific failure prediction models (e.g., a set of failure prediction models) for each component, type of component (e.g., rotor, bearing, generator, and the like), specific combination of components, and/or electrical asset. As a result, the model training module 506 may, in some embodiments, generate a plurality of different models for a plurality of different components.

FIG. 7 depicts a graph defining an example feasible prediction triangle as defined by lookback time and lead time. The model training module 506 may define the feasible prediction triangle based on determining a lookback time and a lead time. The feasible prediction triangle may further be utilized for optimization.

In various embodiments, the model training module 506 may identify different lookback times (e.g., different prediction time periods) by evaluating different amounts of historical sensor data and identify different lead time. For example, the component failure prediction system 104 may receive two months of historical sensor data. The component failure prediction system 104 may train a failure prediction model using 45 days of historical sensor data, another failure prediction model of the same set using 40 days of the same sensor historical sensor data, a third failure prediction model of the same set using 35 days of the same sensor historical sensor data, and so forth. Similarly, for any number of failure prediction models, the component failure prediction system 104 may utilize different amounts of lead time thereby defining the feasible prediction triangle differently for each failure prediction model evaluation in order to determine the most preferred model based on time and metric evaluation of performance.

The model evaluation module 508 is configured to evaluate performance of the failure prediction models generated by the model training module 506. In some embodiments, the model evaluation module 508 may perform x fold cross validation (CV) on training data sets to establish CV performance, including uncertainty of prediction. The model evaluation module 508 may test the developed model on balanced testing data sets (e.g., about 50:50 (failed and non-failed systems) or to be tuned for the desired business outcome).

In various embodiments, the model evaluation module 508 compares the predictions of each failure prediction model of a set of failure prediction models using historical sensor data to compare the results against ground truth (e.g., known failures and known periods of time that the component did not fail). The model evaluation module 508 may separate the outcomes into qualitative categories including true positives (TP), false positives (FP), true negatives (TN), false negatives (FN), positives (TP+FN), and negatives (TN+FP).

The model evaluation module 508 may utilize a failure forecasting performance measures (e.g., standard metrics in any detection/classification model). The metrics may include any or all of the following:

Confusion Matrix (FP,FN,TP,TN)

Receiver Operating Characteristics

Area Under the Curve

Predicted Failure->Failed: True Positive

Predicted Failure->Not Failed: False Positive

Predicted Non-failure->Not Failed: True Negative

Predicted Non-failure->Failed: False negative

Examples of the metrics may include the following:

-   -   Sensitivity, Recall, Hit Rate, or True Positive Rate (TPR):

TPR=TP/P=TP/(TP+FN)

-   -   Specificity or True Negative Rate (TNR)

TNR=TN/N=TN/(TN+FP)

-   -   Precision or Positive Predictive Value (PPV)

PPV=TP/(TP+FP)

-   -   Negative Predictive Value (NPV)

NPV=TN/(TN+FN)

-   -   Miss Rate or False Negative Rate (FNR)

FNR=FN/P=FN/(FN+TP)=1−TPR

-   -   Fall-out or False Negative Rate (FNR)

FPR=FP/N=FP/(FP+TN)=1−TNR

-   -   False Discovery Rate (FDR)

FDR=FP/(FP+TP)=1−PPV

-   -   False Omission Rate (FOR)

FOR=FN/(FN+TN)=1−NPV

-   -   Accuracy (ACC)

ACC=(TP+TN)/(P+N)=(TP+TN)/(TP+TN+FP+FN)

The F1 score is the harmonic mean of precision and sensitivity:

$F_{1} = {{2 \cdot \frac{{PPV} \cdot {TPR}}{{PPV} + {TPR}}} = \frac{2\;{TP}}{{2\;{TP}} + {FP} + {FN}}}$

The Matthews correlation coefficient (MCC) is:

${MCC} = \frac{{{TP} \times {TN}} - {{FP} \times {FN}}}{\sqrt{\left( {{TP} + {FP}} \right)\left( {{TP} + {FN}} \right)\left( {{TN} + {FP}} \right)\left( {{TN} + {FN}} \right)}}$

The informedness or Bookmaker Informedness (BM) is:

BM=TPR+TNR−1

The Markedness (MK) is

MK=PPV+NPV−1

In one example, the precision or positive predictive value of a failure prediction model may indicate that out of four alerts, three alerts are true failure cases and one alert is a false failure case which leads to 75% precision. In other words, if someone sends a crew based on this alarm, three times will result in preventative maintenance of any turbine downtime.

In various embodiments, the model evaluation module 508 determines a receiver operator characteristic area under the curve (ROC AUC) to assist in model performance evaluation. The Operating Characteristic Area Under the Curve is a measure of classifier performance in machine learning. When using normalized units, the area under the curve is equal to the probability that a classifier will rank a randomly chosen positive instance higher than a randomly chosen negative one (assuming ‘positive’ ranks higher than ‘negative’).

The model evaluation module 508 may test the different failure prediction models of different lead times and lookback times and compare the different evaluations to identify a preferred model. FIG. 8 depicts a curvature analysis that can be done for any or all of the performance metrics. In the curvature analysis, each ball in the three dimensional graph is a separate evaluation of the same model using different lead and lookback times and identifying the value of sensitivity for each evaluation.

In one example, the model evaluation module 508 evaluated different failure prediction models of different lookback and lead times:

Lookback Lead Train Train Train Train Time Time AUC Sensitivity Precision Specificity 31 1 71% 54% 63% 69% 33 3 92% 83% 83% 83%

With the increase of lead time from 1 to 3 days and consistent 30 days observation time window (lookback time-lead time), all the performance measure metrics are improved. As such, the model evaluation module 508 may select a failure prediction model with the lookback time of 33 days and lead time of 3 days as the configuration to apply for new data to predict future faults.

In various embodiments, the performance curvature may be assessed to assist in selection of a preferred failure prediction model. The performance look-up gives an expected forecasting outcome for a given lookback and lead time requirement. The performance look-up gives a reasonable lookback and lead time that an operator can expect (e.g. if an operator wants the sensitivity of the model being greater than 50%, the curvature will give the necessary lookback and appropriate lead time). As a result, the performance look-up gives a clear and comprehensive failure prediction model to model performance evaluation for all the possible choices (e.g., thereby enabling a selection of a failure prediction model for each set of failure prediction models).

In various embodiments, the model evaluation module 508 may generate the performance curvature, including the lookback and lead times to enable a user or authorized device to select a point along the performance curvature to identify and select a model with an expected forecasting outcome.

The model evaluation module 508 be configured to provide the performance curvature, any number of failure prediction models of a set of failure prediction models for a component or set of components, evaluations of the failure prediction models of a set, comparison of the evaluations, and the like to an entity authorized to make a selection of a failure prediction model. There may be any number of selected models, each of the selected models being for a different component, component type, groups of component, groups of component type, asset, and/or asset type.

In various embodiments, the model application module 510 may compare new sensor data to classified and/or categorized states identified by the selected model to identify when sensor data indicates a failure state or a state associated with potential failure is reached. In some embodiments, the model application module 510 may score the likelihood or confidence of such estate being reached. The model application module 510 may compare the confidence or score against a threshold in order to trigger an alert or report. In another example, the model application module 510 may compare the fit of sensor data to a failure state or state associate with potential failure that has been identified by the model of the model application module 510 in order to trigger or not trigger an alert or report.

The trigger module 512 may establish thresholds for different components, component types, groups of components, groups of component types, assets, and/or asset types. Each threshold may be compared to an output of one or more selected models. Thresholds may be established based on the performance of the selected model in order to provide an alarm based on likelihood (e.g., confidence) of prediction, seriousness of fault, seriousness of potential effect of the fault (e.g., infrastructure or life threatened), lead time of fault, and/or the like.

It will be appreciated that there may be different categorized states identified during model training. Each categorized state may be associated with a different type of failure including mode of failure, component of failure, and/or the like.

The report and alert generation module 514 may generate an alert based on the evaluation of the evaluation module 614. An alert may be a message indicating a failure or type of failure as well as the specific renewable energy asset (e.g., wind turbine or solar panel) that may be at risk of failure. Since the state identified by the failure prediction model is a state that is in advance of a potential failure, the alert should be triggered in advance of the potential failure such that corrective action may take place. In some embodiments, different alerts may be generated based on different possible failure and or different failure states. For example, some failure states may be more serious than others, as such more alerts and/or additional detailed alerts may be provided to a larger number of digital devices (e.g., cell phones, operators, utility companies, service computers, or the like) depending on the seriousness, significance, and/or imminence of failure.

In some embodiments, the report and alert generation module 514 may generate a report indicating any number of potential failures, the probability of such failure, and the justification or reasoning based on the model and the fit of previously identified states associated with future failure of components.

The data storage 516 may be any type of data storage including tables databases or the like. The data storage 516 may store models, historical data, current sensor data, states indicating possible future failure, alerts, reports, and/or the like.

A module may be hardware (e.g., circuitry and/or programmable chip), software, or a combination of hardware and software.

FIG. 9 is a flowchart for predicting failures and/or potential failures of renewable energy assets. In the example of FIG. 9, prediction failures and/or potential failures of wind turbines is discussed. In step 902, the communication module 502 receives the historical sensor data of any number of components of any number of electrical assets. In various embodiments, the component failure prediction system may generate any number of different failure prediction models for a set of failure prediction models, each set of failure prediction models being for each component, component group, type of component, type of component group, and/or the like. Each set of failure prediction models of the set of failure prediction models may vary in terms of the observation window (e.g., limited to a predetermined window of the historical data used to train a model) and/or lead time.

In step 904, the training data preparation module 504 may normalize and/or extract features (e.g., derived or not derived) from the received historical sensor data. It will be appreciate that, in some embodiments, the training data preparation module 504 may determine the observation window for a model to be trained, extract or receive the historical sensor data that was generated during the observation window, and reduce dimensionality of the data (e.g., using principal component analysis) and/or extract features (e.g., columns or metrics) from the historical sensor data to train one or more failure prediction models of the set.

In step 906, the model training module 506 trains any number of failure prediction models of a set using different observation windows of the historical sensor data and/or lead times for each different model of the same component, component group, type of component, type of component group, and/or the like. The model training module 506 may utilize k-means clustering, neural networks, random forests, or the like.

In step 908, the model evaluation module 508 may evaluate every failure prediction model of a set of failure prediction models. For example, the model evaluation module 508 may evaluate every model that predicts failure of a generator of a wind turbine. Each model of the set may vary depending on the observation window and the lead time window used in generating the model.

The model evaluation module 508 may utilize standardized metrics as discussed herein to evaluate the models of the set of models. The model evaluation module 508 may utilize any or all of the following metrics including, but not limited to, Sensitivity, Recall, Hit Rate, or True Positive Rate (TPR), Specificity or True Negative Rate (TNR), Precision or Positive Predictive Value (PPV), Negative Predictive Value (NPV), Miss Rate or False Negative Rate (FNR), Fall-out or False Negative Rate (FNR), False Discovery Rate (FDR), False Omission Rate (FOR), Accuracy (ACC), the F1 score is the harmonic mean of precision and sensitivity, the Matthews correlation coefficient (MCC), the informedness or Bookmaker Informedness (BM), the Markedness (MK), and/or area under the curve (AUC).

In step 910, the model evaluation module 508 may compare any number of the model evaluations of failure prediction models of a set of failure prediction models to any of the other set of model evaluations to select a preferred model of the set of models. For example, two different failure prediction models of a set with different lookback time (e.g., 31 and 33 days, respectively) and different lead times (e.g., 1 and 3 days, respectively) may have different AUC (71% and 92%, respectively), different train sensitivity (54% and 83%, respectively), different train precision (63% and 83%, respectively), and train specificity (69% and 83%, respectively). It will be appreciated that each failure prediction model of a set may be compared using similar metrics and/or different metrics as described above. Based on the two different failure prediction models in this example, the model evaluation module 508 or authorized entity may select the failure prediction model with the longer lead time, higher AUC, train sensitivity, train precision, and train specificity even though the lookback time is larger.

In step 912, the model application module 510 may receive current sensor data from the same components or group of components that provided the historical sensor data. The model application module 510 may apply the selected failure prediction model to the current sensor data to generate a prediction.

In step 914, the trigger module 512 may compare the output of the selected failure prediction model to a threshold to determine if trigger conditions are satisfied 914. In other words, the trigger module 512 may compare a probability of accuracy or confidence of a predicted failure to a failure prediction threshold. In various embodiments, the trigger module 512 may store threshold triggers in a threshold trigger database. There may be different trigger thresholds for different components, component types, groups of components, groups of component types, assets, and/or asset types. In various embodiments, there may be different trigger thresholds depending on the amount of damage that may be caused to the asset by failure, other assets by failure, the electrical grid, infrastructure, property and/or life. There may be different trigger thresholds based on the selected model (e.g., based on sensitivity, accuracy, amount of lead time, predicted time of failure, and/or the like). The different trigger thresholds may be set, in some embodiments, by a power company, authorized individual, authorized digital device, and/or the like.

In step 916, the report and alert generation module 514 may generate an alert if a trigger condition is satisfied. In some embodiments, the report and alert generation module 514 may have an alert threshold that must be triggered before the alert is issued. For example, the alert threshold may be based on the amount of damage that may be caused to the asset by failure, other assets by failure, the electrical grid, infrastructure, property and/or life. The alert may be issued by text, SMS, email, instant message, phone call, and/or the like. The alert may indicate the component, component group, type of component, type of component group, and/or the like that triggered the prediction as well as any information relevant to the prediction, like percentage of confidence and predicted time frame.

In various embodiments, a report is generated that may indicate any number of predicted failures of any number of components or groups of components based on application of selected models to different sensor data which may enable the system to provide a greater understanding of system health.

In some embodiments, the evaluation module 508 may evaluate cost based metrics of every model of a set of models for the same component, component group, type of component, type of component group, and/or the like. For example, the model evaluation module 508 may evaluate every model that predicts failure of a generator of a wind turbine and the effect on cost. Each model of the set may vary depending on the observation window and the lead time window used in generating the model.

The model evaluation module 508 may utilize standardized cost metrics to evaluate the failure prediction models of a set of failure prediction models. These can include:

Average Preventative Fix Cost (AFC)

Average Run-to-Failure Cost (ARFC)

Average Cost for Unnecessary Visit (ACUV)

A Baseline Cost Model (BCM) may include:

Cost of All-Run-to-Failure (CARF)=Number of Cases for Run-to-Failure*ARFC

As-is operation Cost of (AC)=Number of Cases for Failure*ARFC+Number of Cases for Preventative Fix*AFC+Number Cases of Unnecessary Visit*ACUV

A Target Cost Model may include:

Predictive Maintenance Cost(PMC)=Number of Cases for Failure*ARFC+Number of Cases for Preventative Fix*AFC+Number of Cases of Unnecessary Visit*ACUV

The model evaluation module 508 may compare the standardized cost metrics of any number of failure prediction models of a set of failure prediction models to each other to select or assist in selection of a model failure prediction of the set. In various embodiments, the model evaluation module 508 utilizes both the standardized performance metrics discussed herein as well as the standardized cost metrics in comparing different models and selecting a model from any number of the comparisons.

FIG. 10 depicts a calculation of an example predictive maintenance cost in one example. In FIG. 10, the Number of Cases for Failure may be a false negative rate times the total number of cases. The number of cases of preventative fixes may be a true positive rate times the total number of cases. The number of cases of unnecessary visits may be a false positive rate times the total number of cases.

FIG. 11 is a graph of a further optimization of performance per cost analysis in some embodiments. In some embodiments, a model trainer may wish to publish a model to predict a particular failure of a component. The trainer can use target cost savings from the model training. In this case. A point on the figure (e.g., the dot) with arrows leading from lookback time and lead time is the point of target cost savings. From this characterization, the trainer may publish a model with a certain lead and lookback time.

FIG. 11 depicts a Predictive Maintenance Cost (PMC) along a vertical axis, a lead time along a horizontal axis, and a lookback time along the z axis. Through this different axis and comparison of different models using this graph, a preferred cost optimization may be utilized to select one or more models.

In various embodiments, the trigger module 512 may compare models applied to current data to thresholds based on cost as well as performance. As such, alerts may be generated based on a cost analysis (e.g., the impact of a failure on greater cost, even if the likelihood is moderate, may still be cause to generate an alert for preventative maintenance).

FIG. 12 depicts a block diagram of an example computer system server 1200 according to some embodiments. Computer system server 1200 is shown in the form of a general-purpose computing device. Computer system server 1200 includes processor 1202, RAM 1204, communication interface 1206, input/output device 1208, storage 1210, and a system bus 1212 that couples various system components including storage 1210 to processor 1202.

System bus 1212 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.

Computer system server 1200 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by congestion mitigation system 1204 and it includes both volatile and nonvolatile media, removable and non-removable media.

In some embodiments, processor 1202 is configured to execute executable instructions (e.g., programs). In some embodiments, the processor 1004 comprises circuitry or any processor capable of processing the executable instructions.

In some embodiments, RAM 1204 stores data. In various embodiments, working data is stored within RAM 1206. The data within RAM 1206 may be cleared or ultimately transferred to storage 1210.

In some embodiments, communication interface 1206 is coupled to a network via communication interface 1206. Such communication can occur via Input/Output (I/O) device 1208. Still yet, congestion mitigation system 1204 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet).

In some embodiments, input/output device 1208 is any device that inputs data (e.g., mouse, keyboard, stylus) or outputs data (e.g., speaker, display, virtual reality headset).

In some embodiments, storage 1210 can include computer system readable media in the form of volatile memory, such as read only memory (ROM) and/or cache memory. Storage 1210 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage 1210 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CDROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to system bus 1212 by one or more data media interfaces. As will be further depicted and described below, storage 1210 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention. In some embodiments, RAM 1204 is found within storage 1210.

Program/utility, having a set (at least one) of program modules, such as congestion mitigation system 1204, may be stored in storage 1210 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules generally carry out the functions and/or methodologies of embodiments of the invention as described herein.

It should be understood that although not shown, other hardware and/or software components could be used in conjunction with congestion mitigation system 1204. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, and external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

Exemplary embodiments are described herein in detail with reference to the accompanying drawings. However, the present disclosure can be implemented in various manners, and thus should not be construed to be limited to the embodiments disclosed herein. On the contrary, those embodiments are provided for the thorough and complete understanding of the present disclosure, and completely conveying the scope of the present disclosure to those skilled in the art.

As will be appreciated by one skilled in the art, aspects of one or more embodiments may be embodied as a system, method or computer program product. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 

1. A non-transitory computer readable medium comprising executable instructions, the executable instructions being executable by one or more processors to perform a method, the method comprising: receiving first historical sensor data of a first time period, the first historical sensor data including sensor data from one or more sensors of one or more components of any number of renewable energy assets, the first historical sensor data indicating at least one first failure associated with the one or more components of the renewable energy asset during the first time period; generating a first set of failure prediction models using the first historical sensor data, each of the first set of failure prediction models being trained by different amounts of first historical sensor data based on different observation time windows and different lead time windows, each observation time window including a time period during which first historical data is generated, the lead time window including a period of time before a predicted failure; evaluating each failure prediction model of the first set of failure prediction models using at least a confusion matrix including metrics for true positives, false positives, true negatives, and false negatives as well as a positive prediction value; comparing the confusion matrix and the positive prediction value of each of the first set of failure prediction models; selecting at least one failure prediction model of the first set of failure prediction models based on the comparison of the confusion matrixes, the positive prediction values, and the lead time windows to create a first selected failure prediction model, the first selected failure prediction model including the lead time window before a predicted failure; receiving first current sensor data of a second time period, the first current sensor data including sensor data from the one or more sensors of the one or more components of the renewable energy asset; applying the first selected failure prediction model to the current sensor data to generate a first failure prediction a failure of at least one component of the one or more components; comparing the first failure prediction to a first trigger criteria; and generating and transmitting a first alert based on the comparison of the failure prediction to the first trigger criteria, the alert indicating the at least one component of the one or more components and information regarding the failure prediction. 